﻿/**
* Класс представляет услуги конвертации данных
* @author Firsoff Maxim, icq:234859730, firsoff_maxim@mail.ru, tel:+79222345364
* @version 0.1/30.07.2008 18:00
*/

package ru.vega_int.firsoff.as3.utils 
{
	import flash.errors.IllegalOperationError;

	public class DataConverter 
	{
		//	PROPERTIES
		//	public
		//	private
		//	const
		//	----------------------------------------------------------------------------------
		
		//	CONSTRUCTOR
		public function DataConverter() 
		{
			throw new IllegalOperationError('this class has no instances');
		};
		
		//	METHODS
		//	private
		//	public
		/**
		 * Конвертирование секунд в строку XX:YY:ZZ
		 * где XX - часы
		 * YY - минуты
		 * ZZ - секунды
		 * Если какой то параметр = 0, то соот. поле не отображается
		 * @param	seconds
		 */
		public static function secondsToHoursMinutesSeconds(seconds:Number):String
		{
			var hours:Number;
			var minutes:Number;
			var seconds:Number;
			
			var hours_str:String;
			var minutes_str:String;
			var seconds_str:String;
			var output:String = '';
			if (seconds >= 0)
			{
				// считаем общее колво часов
				hours = Math.floor(seconds / 3600);
				hours_str = hours.toString();
				hours_str = hours_str.length == 1 ? '' + hours_str : hours_str;
				
				// колво минут
				minutes = Math.floor((seconds - hours * 3600) / 60);
				minutes_str = minutes.toString();
				minutes_str = minutes_str.length == 1 ? '' + minutes_str : minutes_str;

				// остаток секунд
				seconds = seconds - hours * 3600 - minutes * 60;
				seconds_str = seconds.toString();
				seconds_str = seconds_str.length == 1 ? '0' + seconds_str : seconds_str;
				
				// начинаем сборку 
				if (hours)
				{
					output = hours_str + ':' + minutes_str + ':' + seconds_str;
				}
				else 
				{
					if (minutes)
					{
						output = minutes_str + ':' + seconds_str;
					}
					else 
					{
						output = '0:' + seconds_str;
					};
				};
			}
			else 
			{
				throw new IllegalOperationError('param [seconds] = ' + seconds + ' is wrong');
			};
			
			return output;
		};
		//	----------------------------------------------------------------------------------
		
		//	GETTERS/SETTERS
		
		//	----------------------------------------------------------------------------------
		
		//	HANDLERS
		
		//	----------------------------------------------------------------------------------
	};
};
